iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
Software Development

設計師怎麼學 PHP系列 第 10

Day10 PHP 的字串加密 crypt(), md5(), sha1()

  • 分享至 

  • xImage
  •  

字串加密通常可以運用在輸入密碼的時候
本篇提到的方法,資料找下來,安全級數偏低,並不建議使用
但作為初學者,稍微理解一下原理也是不錯的

crypt()

$加密基底變數 = 1234qwe
crypt(密碼變數,加密基底變數)

可以多放一個變數,作為加密的基底,跑出來的加密同時會有部分的加密基底變數
參考資料:crypt.php

md5()

md5(密碼變數)

把密碼放進去後,另外做一般人看不懂的運算回傳 16 個字符
參考資料:md5.php

sha1()

sha1(密碼變數)

把密碼放進去後,也一樣做了運算,回傳 40 個字符
參考資料:md5.php

$encryption = "aaasss";
    echo "原字串".$encryption."<br>";
    echo "crypt加密".crypt($encryption, substr($encryption,0,2))."<br>";
    //substr意思是從第 0 個位置開始提取 2 個字符,也就是 aa
    //aaYLw3LeT36j2
    echo "md5加密".md5($encryption)."<br>";
    //d3b47facac9ae3f2ddf56f8ba51342b2
    echo "sha1加密".sha1($encryption);
    //bcf6f56266d0dfd3918b44444e1fc45a9a626942

如果要驗證密碼是否輸入正確,判斷式的寫法為

if(crypt($input_password,$password_encryption) == $password_encryption){
    //crypt($輸入的密碼,$加密基底變數) == $加密基底變數
    //密碼驗證通過
}

參考書籍:挑戰PHP7/MySQL程式設計與超強專題特訓班(黃信溢)


上一篇
Day09 PHP 的 foreach
系列文
設計師怎麼學 PHP10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言